﻿// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 TRADEBRIDGE_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何项目上不应定义此符号。这样，源文件中包含此文件的任何其他项目都会将
// TRADEBRIDGE_API 函数视为是从 DLL 导入的，而此 DLL 则将用此宏定义的
// 符号视为是被导出的。
#ifdef TRADEBRIDGE_EXPORTS
#define TRADEBRIDGE_API extern "C" __declspec(dllexport)
#else
#define TRADEBRIDGE_API __declspec(dllimport)
#endif
#include "Common.h"

typedef void* pTradeAPI;
TRADEBRIDGE_API pTradeAPI NewTradeAPI();
TRADEBRIDGE_API void FreepTradeAPI(pTradeAPI x);


TRADEBRIDGE_API void ConnectTrade(pTradeAPI x, char * path, char * addr);

TRADEBRIDGE_API const char *GetVersionTrade(pTradeAPI x);
TRADEBRIDGE_API void ReleaseTrade(pTradeAPI x);
TRADEBRIDGE_API void InitTrade(pTradeAPI x);
TRADEBRIDGE_API void JoinTrade(pTradeAPI x);
TRADEBRIDGE_API const char *GetTradingDayTrade(pTradeAPI x);

TRADEBRIDGE_API void SendAuth(pTradeAPI x,struct CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID);
TRADEBRIDGE_API void RegUserSystemInfo(pTradeAPI x,struct CThostFtdcUserSystemInfoField *pUserSystemInfo);
TRADEBRIDGE_API void SubUserSystemInfo(pTradeAPI x,struct CThostFtdcUserSystemInfoField *pUserSystemInfo);
TRADEBRIDGE_API void LoginTrade(pTradeAPI x,struct CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID);
TRADEBRIDGE_API void LogoutTrade(pTradeAPI x,struct CThostFtdcUserLogoutField *pUserLogout, int nRequestID);
TRADEBRIDGE_API void ChangeUserPwd(pTradeAPI x,struct CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID);
TRADEBRIDGE_API void ChangeTradingAccountPwd(pTradeAPI x,struct CThostFtdcTradingAccountPasswordUpdateField *pTradingAccountPasswordUpdate, int nRequestID);
TRADEBRIDGE_API void QryNotice(pTradeAPI x,struct CThostFtdcQryNoticeField *pQryNotice, int nRequestID);
//结算单操作
TRADEBRIDGE_API void ReqSettlementInfo(pTradeAPI x,struct CThostFtdcQrySettlementInfoField *pQrySettlementInfo, int nRequestID);
TRADEBRIDGE_API void SendSettlementInfoConfirm(pTradeAPI x,struct CThostFtdcSettlementInfoConfirmField *pSettlementInfoConfirm, int nRequestID);
TRADEBRIDGE_API void CheckSettlementInfoConfirm(pTradeAPI x,struct CThostFtdcQrySettlementInfoConfirmField *pQrySettlementInfoConfirm, int nRequestID);

//报单操作
TRADEBRIDGE_API void SendOrder(pTradeAPI x,struct CThostFtdcInputOrderField *pInputOrder, int nRequestID);
TRADEBRIDGE_API void CancalOrder(pTradeAPI x,struct CThostFtdcInputOrderActionField *pInputOrderAction, int nRequestID);
TRADEBRIDGE_API void ExecOrderInsert(pTradeAPI x,struct CThostFtdcInputExecOrderField *pInputExecOrder, int nRequestID);
TRADEBRIDGE_API void ExecOrderAction(pTradeAPI x,struct CThostFtdcInputExecOrderActionField *pInputExecOrderAction, int nRequestID);
TRADEBRIDGE_API void QryOrder(pTradeAPI x,struct CThostFtdcQryOrderField *pQryOrder, int nRequestID);//报单查询
TRADEBRIDGE_API void QryExecOrder(pTradeAPI x,struct CThostFtdcQryExecOrderField *pQryExecOrder, int nRequestID);

//预埋操作
TRADEBRIDGE_API void SendParkedOrder(pTradeAPI x,struct CThostFtdcParkedOrderField *pParkedOrder, int nRequestID);
TRADEBRIDGE_API void SendPreCancalParkedOrder(pTradeAPI x,struct CThostFtdcParkedOrderActionField *pParkedOrderAction, int nRequestID);
TRADEBRIDGE_API void CancalParkedOrder(pTradeAPI x,struct CThostFtdcRemoveParkedOrderField *pRemoveParkedOrder, int nRequestID);
TRADEBRIDGE_API void RemovePreCancalParkedOrder(pTradeAPI x,struct CThostFtdcRemoveParkedOrderActionField *pRemoveParkedOrderAction, int nRequestID);
//预埋查询
TRADEBRIDGE_API void QryParkedOrder(pTradeAPI x,struct CThostFtdcQryParkedOrderField *pQryParkedOrder, int nRequestID);
TRADEBRIDGE_API void QryParkedOrderAction(pTradeAPI x,struct CThostFtdcQryParkedOrderActionField *pQryParkedOrderAction, int nRequestID);
//批量报单
TRADEBRIDGE_API void BatchOrderAction(pTradeAPI x,struct CThostFtdcInputBatchOrderActionField *pInputBatchOrderAction, int nRequestID);
//查询最大报单
TRADEBRIDGE_API void ReqQueryMaxOrderVolume(pTradeAPI x,struct CThostFtdcQueryMaxOrderVolumeField *pQueryMaxOrderVolume, int nRequestID);

//询价操作
TRADEBRIDGE_API void ForQuoteInsert(pTradeAPI x,struct CThostFtdcInputForQuoteField *pInputForQuote, int nRequestID);
TRADEBRIDGE_API void QuoteInsert(pTradeAPI x,struct CThostFtdcInputQuoteField *pInputQuote, int nRequestID);
TRADEBRIDGE_API void QuoteAction(pTradeAPI x,struct CThostFtdcInputQuoteActionField *pInputQuoteAction, int nRequestID);
TRADEBRIDGE_API void QryForQuote(pTradeAPI x,struct CThostFtdcQryForQuoteField *pQryForQuote, int nRequestID);
TRADEBRIDGE_API void QryQuote(pTradeAPI x,struct CThostFtdcQryQuoteField *pQryQuote, int nRequestID);

//期权
TRADEBRIDGE_API void OptionSelfCloseInsert(pTradeAPI x,struct CThostFtdcInputOptionSelfCloseField *pInputOptionSelfClose, int nRequestID);
TRADEBRIDGE_API void OptionSelfCloseAction(pTradeAPI x,struct CThostFtdcInputOptionSelfCloseActionField *pInputOptionSelfCloseAction, int nRequestID);
TRADEBRIDGE_API void QryOptionInstrTradeCost(pTradeAPI x,struct CThostFtdcQryOptionInstrTradeCostField *pQryOptionInstrTradeCost, int nRequestID);
TRADEBRIDGE_API void QryOptionInstrCommRate(pTradeAPI x,struct CThostFtdcQryOptionInstrCommRateField *pQryOptionInstrCommRate, int nRequestID);
TRADEBRIDGE_API void QryOptionSelfClose(pTradeAPI x,struct CThostFtdcQryOptionSelfCloseField *pQryOptionSelfClose, int nRequestID);

//组合
TRADEBRIDGE_API void CombActionInsert(pTradeAPI x,struct CThostFtdcInputCombActionField *pInputCombAction, int nRequestID);
TRADEBRIDGE_API void QryCombInstrumentGuard(pTradeAPI x,struct CThostFtdcQryCombInstrumentGuardField *pQryCombInstrumentGuard, int nRequestID);
TRADEBRIDGE_API void QryCombAction(pTradeAPI x,struct CThostFtdcQryCombActionField *pQryCombAction, int nRequestID);


//交易查询
TRADEBRIDGE_API void QryTradingAccount(pTradeAPI x,struct CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID);
TRADEBRIDGE_API void QryTrade(pTradeAPI x,struct CThostFtdcQryTradeField *pQryTrade, int nRequestID);
TRADEBRIDGE_API void QryTradingCode(pTradeAPI x,struct CThostFtdcQryTradingCodeField *pQryTradingCode, int nRequestID);
TRADEBRIDGE_API void QryTradingNotice(pTradeAPI x,struct CThostFtdcQryTradingNoticeField *pQryTradingNotice, int nRequestID);
//部位
TRADEBRIDGE_API void QryInvestorPosition(pTradeAPI x,struct CThostFtdcQryInvestorPositionField *pQryInvestorPosition, int nRequestID);
TRADEBRIDGE_API void QryInvestorPositionDetail(pTradeAPI x,struct CThostFtdcQryInvestorPositionDetailField *pQryInvestorPositionDetail, int nRequestID);
TRADEBRIDGE_API void QryInvestor(pTradeAPI x,struct CThostFtdcQryInvestorField *pQryInvestor, int nRequestID);
TRADEBRIDGE_API void QryInvestorPositionCombineDetail(pTradeAPI x,struct CThostFtdcQryInvestorPositionCombineDetailField *pQryInvestorPositionCombineDetail, int nRequestID);
TRADEBRIDGE_API void QryInvestUnit(pTradeAPI x,struct CThostFtdcQryInvestUnitField *pQryInvestUnit, int nRequestID);
TRADEBRIDGE_API void QryInvestorProductGroupMargin(pTradeAPI x,struct CThostFtdcQryInvestorProductGroupMarginField *pQryInvestorProductGroupMargin, int nRequestID);


TRADEBRIDGE_API void QryInstrument(pTradeAPI x,struct CThostFtdcQryInstrumentField *pQryInstrument, int nRequestID);
TRADEBRIDGE_API void QryInstrumentMarginRate(pTradeAPI x,struct CThostFtdcQryInstrumentMarginRateField *pQryInstrumentMarginRate, int nRequestID);
TRADEBRIDGE_API void QryInstrumentCommissionRate(pTradeAPI x,struct CThostFtdcQryInstrumentCommissionRateField *pQryInstrumentCommissionRate, int nRequestID);
TRADEBRIDGE_API void QryInstrumentOrderCommRate(pTradeAPI x,struct CThostFtdcQryInstrumentOrderCommRateField *pQryInstrumentOrderCommRate, int nRequestID);

TRADEBRIDGE_API void QryExchange(pTradeAPI x,struct CThostFtdcQryExchangeField *pQryExchange, int nRequestID);
TRADEBRIDGE_API void QryExchangeMarginRate(pTradeAPI x,struct CThostFtdcQryExchangeMarginRateField *pQryExchangeMarginRate, int nRequestID);
TRADEBRIDGE_API void QryExchangeMarginRateAdjust(pTradeAPI x,struct CThostFtdcQryExchangeMarginRateAdjustField *pQryExchangeMarginRateAdjust, int nRequestID);
TRADEBRIDGE_API void QryExchangeRate(pTradeAPI x,struct CThostFtdcQryExchangeRateField *pQryExchangeRate, int nRequestID);

TRADEBRIDGE_API void QryProduct(pTradeAPI x,struct CThostFtdcQryProductField *pQryProduct, int nRequestID);
TRADEBRIDGE_API void QryProductExchRate(pTradeAPI x,struct CThostFtdcQryProductExchRateField *pQryProductExchRate, int nRequestID);
TRADEBRIDGE_API void QryProductGroup(pTradeAPI x,struct CThostFtdcQryProductGroupField *pQryProductGroup, int nRequestID);

TRADEBRIDGE_API void QryBrokerTradingParams(pTradeAPI x,struct CThostFtdcQryBrokerTradingParamsField *pQryBrokerTradingParams, int nRequestID);
TRADEBRIDGE_API void QryBrokerTradingAlgos(pTradeAPI x,struct CThostFtdcQryBrokerTradingAlgosField *pQryBrokerTradingAlgos, int nRequestID);
TRADEBRIDGE_API void QryDepthMarketData(pTradeAPI x,struct CThostFtdcQryDepthMarketDataField *pQryDepthMarketData, int nRequestID);





TRADEBRIDGE_API void QryEWarrantOffset(pTradeAPI x,struct CThostFtdcQryEWarrantOffsetField *pQryEWarrantOffset, int nRequestID);
//做市商
TRADEBRIDGE_API void QryMMInstrumentCommissionRate(pTradeAPI x,struct CThostFtdcQryMMInstrumentCommissionRateField *pQryMMInstrumentCommissionRate, int nRequestID);
TRADEBRIDGE_API void QryMMOptionInstrCommRate(pTradeAPI x,struct CThostFtdcQryMMOptionInstrCommRateField *pQryMMOptionInstrCommRate, int nRequestID);
//二级代理
TRADEBRIDGE_API void QrySecAgentACIDMap(pTradeAPI x,struct CThostFtdcQrySecAgentACIDMapField *pQrySecAgentACIDMap, int nRequestID);
TRADEBRIDGE_API void QrySecAgentTradingAccount(pTradeAPI x,struct CThostFtdcQryTradingAccountField *pQryTradingAccount, int nRequestID);
TRADEBRIDGE_API void QrySecAgentCheckMode(pTradeAPI x,struct CThostFtdcQrySecAgentCheckModeField *pQrySecAgentCheckMode, int nRequestID);
TRADEBRIDGE_API void QrySecAgentTradeInfo(pTradeAPI x,struct CThostFtdcQrySecAgentTradeInfoField *pQrySecAgentTradeInfo, int nRequestID);

//银期转账
TRADEBRIDGE_API void QryTransferBank(pTradeAPI x,struct CThostFtdcQryTransferBankField *pQryTransferBank, int nRequestID);
TRADEBRIDGE_API void QryTransferSerial(pTradeAPI x,struct CThostFtdcQryTransferSerialField *pQryTransferSerial, int nRequestID);
TRADEBRIDGE_API void QryAccountregister(pTradeAPI x,struct CThostFtdcQryAccountregisterField *pQryAccountregister, int nRequestID);
TRADEBRIDGE_API void QryContractBank(pTradeAPI x,struct CThostFtdcQryContractBankField *pQryContractBank, int nRequestID);
TRADEBRIDGE_API void QueryCFMMCTradingAccountToken(pTradeAPI x,struct CThostFtdcQueryCFMMCTradingAccountTokenField *pQueryCFMMCTradingAccountToken, int nRequestID);
TRADEBRIDGE_API void FromBankToFutureByFuture(pTradeAPI x,struct CThostFtdcReqTransferField *pReqTransfer, int nRequestID);
TRADEBRIDGE_API void FromFutureToBankByFuture(pTradeAPI x,struct CThostFtdcReqTransferField *pReqTransfer, int nRequestID);
TRADEBRIDGE_API void QueryBankAccountMoneyByFuture(pTradeAPI x,struct CThostFtdcReqQueryAccountField *pReqQueryAccount, int nRequestID);
/*尚未支持*/
TRADEBRIDGE_API void CheckAuthMethod(pTradeAPI x,struct CThostFtdcReqUserAuthMethodField *pReqUserAuthMethod, int nRequestID);
TRADEBRIDGE_API void GenUserCaptcha(pTradeAPI x,struct CThostFtdcReqGenUserCaptchaField *pReqGenUserCaptcha, int nRequestID);
TRADEBRIDGE_API void GenUserText(pTradeAPI x,struct CThostFtdcReqGenUserTextField *pReqGenUserText, int nRequestID);
TRADEBRIDGE_API void UserLoginWithCaptcha(pTradeAPI x,struct CThostFtdcReqUserLoginWithCaptchaField *pReqUserLoginWithCaptcha, int nRequestID);
TRADEBRIDGE_API void UserLoginWithText(pTradeAPI x,struct CThostFtdcReqUserLoginWithTextField *pReqUserLoginWithText, int nRequestID);
TRADEBRIDGE_API void UserLoginWithOTP(pTradeAPI x,struct CThostFtdcReqUserLoginWithOTPField *pReqUserLoginWithOTP, int nRequestID);

TRADEBRIDGE_API void Reg_OnFrontConnectedTrade(pTradeAPI x, OnFrontConnectedTrade pOnFrontConnectedTrade);
TRADEBRIDGE_API void Reg_OnFrontDisconnectedTrade(pTradeAPI x, OnFrontDisconnectedTrade pOnFrontDisconnectedTrade);
TRADEBRIDGE_API void Reg_OnHeartBeatWarningTrade(pTradeAPI x, OnHeartBeatWarningTrade pOnHeartBeatWarningTrade);
TRADEBRIDGE_API void Reg_OnRspAuthenticateTrade(pTradeAPI x, OnRspAuthenticateTrade pOnRspAuthenticateTrade);
TRADEBRIDGE_API void Reg_OnRspUserLoginTrade(pTradeAPI x, OnRspUserLoginTrade pOnRspUserLoginTrade);
TRADEBRIDGE_API void Reg_OnRspUserLogoutTrade(pTradeAPI x, OnRspUserLogoutTrade pOnRspUserLogoutTrade);
TRADEBRIDGE_API void Reg_OnRspUserPasswordUpdateTrade(pTradeAPI x, OnRspUserPasswordUpdateTrade pOnRspUserPasswordUpdateTrade);
TRADEBRIDGE_API void Reg_OnRspTradingAccountPasswordUpdateTrade(pTradeAPI x, OnRspTradingAccountPasswordUpdateTrade pOnRspTradingAccountPasswordUpdateTrade);
TRADEBRIDGE_API void Reg_OnRspUserAuthMethodTrade(pTradeAPI x, OnRspUserAuthMethodTrade pOnRspUserAuthMethodTrade);
TRADEBRIDGE_API void Reg_OnRspGenUserCaptchaTrade(pTradeAPI x, OnRspGenUserCaptchaTrade pOnRspGenUserCaptchaTrade);
TRADEBRIDGE_API void Reg_OnRspGenUserTextTrade(pTradeAPI x, OnRspGenUserTextTrade pOnRspGenUserTextTrade);
TRADEBRIDGE_API void Reg_OnRspOrderInsertTrade(pTradeAPI x, OnRspOrderInsertTrade pOnRspOrderInsertTrade);
TRADEBRIDGE_API void Reg_OnRspParkedOrderInsertTrade(pTradeAPI x, OnRspParkedOrderInsertTrade pOnRspParkedOrderInsertTrade);
TRADEBRIDGE_API void Reg_OnRspParkedOrderActionTrade(pTradeAPI x, OnRspParkedOrderActionTrade pOnRspParkedOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRspOrderActionTrade(pTradeAPI x, OnRspOrderActionTrade pOnRspOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRspQueryMaxOrderVolumeTrade(pTradeAPI x, OnRspQueryMaxOrderVolumeTrade pOnRspQueryMaxOrderVolumeTrade);
TRADEBRIDGE_API void Reg_OnRspSettlementInfoConfirmTrade(pTradeAPI x, OnRspSettlementInfoConfirmTrade pOnRspSettlementInfoConfirmTrade);
TRADEBRIDGE_API void Reg_OnRspRemoveParkedOrderTrade(pTradeAPI x, OnRspRemoveParkedOrderTrade pOnRspRemoveParkedOrderTrade);
TRADEBRIDGE_API void Reg_OnRspRemoveParkedOrderActionTrade(pTradeAPI x, OnRspRemoveParkedOrderActionTrade pOnRspRemoveParkedOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRspExecOrderInsertTrade(pTradeAPI x, OnRspExecOrderInsertTrade pOnRspExecOrderInsertTrade);
TRADEBRIDGE_API void Reg_OnRspExecOrderActionTrade(pTradeAPI x, OnRspExecOrderActionTrade pOnRspExecOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRspForQuoteInsertTrade(pTradeAPI x, OnRspForQuoteInsertTrade pOnRspForQuoteInsertTrade);
TRADEBRIDGE_API void Reg_OnRspQuoteInsertTrade(pTradeAPI x, OnRspQuoteInsertTrade pOnRspQuoteInsertTrade);
TRADEBRIDGE_API void Reg_OnRspQuoteActionTrade(pTradeAPI x, OnRspQuoteActionTrade pOnRspQuoteActionTrade);
TRADEBRIDGE_API void Reg_OnRspBatchOrderActionTrade(pTradeAPI x, OnRspBatchOrderActionTrade pOnRspBatchOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRspOptionSelfCloseInsertTrade(pTradeAPI x, OnRspOptionSelfCloseInsertTrade pOnRspOptionSelfCloseInsertTrade);
TRADEBRIDGE_API void Reg_OnRspOptionSelfCloseActionTrade(pTradeAPI x, OnRspOptionSelfCloseActionTrade pOnRspOptionSelfCloseActionTrade);
TRADEBRIDGE_API void Reg_OnRspCombActionInsertTrade(pTradeAPI x, OnRspCombActionInsertTrade pOnRspCombActionInsertTrade);
TRADEBRIDGE_API void Reg_OnRspQryOrderTrade(pTradeAPI x, OnRspQryOrderTrade pOnRspQryOrderTrade);
TRADEBRIDGE_API void Reg_OnRspQryTradeTrade(pTradeAPI x, OnRspQryTradeTrade pOnRspQryTradeTrade);
TRADEBRIDGE_API void Reg_OnRspQryInvestorPositionTrade(pTradeAPI x, OnRspQryInvestorPositionTrade pOnRspQryInvestorPositionTrade);
TRADEBRIDGE_API void Reg_OnRspQryTradingAccountTrade(pTradeAPI x, OnRspQryTradingAccountTrade pOnRspQryTradingAccountTrade);
TRADEBRIDGE_API void Reg_OnRspQryInvestorTrade(pTradeAPI x, OnRspQryInvestorTrade pOnRspQryInvestorTrade);
TRADEBRIDGE_API void Reg_OnRspQryTradingCodeTrade(pTradeAPI x, OnRspQryTradingCodeTrade pOnRspQryTradingCodeTrade);
TRADEBRIDGE_API void Reg_OnRspQryInstrumentMarginRateTrade(pTradeAPI x, OnRspQryInstrumentMarginRateTrade pOnRspQryInstrumentMarginRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryInstrumentCommissionRateTrade(pTradeAPI x, OnRspQryInstrumentCommissionRateTrade pOnRspQryInstrumentCommissionRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryExchangeTrade(pTradeAPI x, OnRspQryExchangeTrade pOnRspQryExchangeTrade);
TRADEBRIDGE_API void Reg_OnRspQryProductTrade(pTradeAPI x, OnRspQryProductTrade pOnRspQryProductTrade);
TRADEBRIDGE_API void Reg_OnRspQryInstrumentTrade(pTradeAPI x, OnRspQryInstrumentTrade pOnRspQryInstrumentTrade);
TRADEBRIDGE_API void Reg_OnRspQryDepthMarketDataTrade(pTradeAPI x, OnRspQryDepthMarketDataTrade pOnRspQryDepthMarketDataTrade);
TRADEBRIDGE_API void Reg_OnRspQrySettlementInfoTrade(pTradeAPI x, OnRspQrySettlementInfoTrade pOnRspQrySettlementInfoTrade);
TRADEBRIDGE_API void Reg_OnRspQryTransferBankTrade(pTradeAPI x, OnRspQryTransferBankTrade pOnRspQryTransferBankTrade);
TRADEBRIDGE_API void Reg_OnRspQryInvestorPositionDetailTrade(pTradeAPI x, OnRspQryInvestorPositionDetailTrade pOnRspQryInvestorPositionDetailTrade);
TRADEBRIDGE_API void Reg_OnRspQryNoticeTrade(pTradeAPI x, OnRspQryNoticeTrade pOnRspQryNoticeTrade);
TRADEBRIDGE_API void Reg_OnRspQrySettlementInfoConfirmTrade(pTradeAPI x, OnRspQrySettlementInfoConfirmTrade pOnRspQrySettlementInfoConfirmTrade);
TRADEBRIDGE_API void Reg_OnRspQryInvestorPositionCombineDetailTrade(pTradeAPI x, OnRspQryInvestorPositionCombineDetailTrade pOnRspQryInvestorPositionCombineDetailTrade);
TRADEBRIDGE_API void Reg_OnRspQryCFMMCTradingAccountKeyTrade(pTradeAPI x, OnRspQryCFMMCTradingAccountKeyTrade pOnRspQryCFMMCTradingAccountKeyTrade);
TRADEBRIDGE_API void Reg_OnRspQryEWarrantOffsetTrade(pTradeAPI x, OnRspQryEWarrantOffsetTrade pOnRspQryEWarrantOffsetTrade);
TRADEBRIDGE_API void Reg_OnRspQryInvestorProductGroupMarginTrade(pTradeAPI x, OnRspQryInvestorProductGroupMarginTrade pOnRspQryInvestorProductGroupMarginTrade);
TRADEBRIDGE_API void Reg_OnRspQryExchangeMarginRateTrade(pTradeAPI x, OnRspQryExchangeMarginRateTrade pOnRspQryExchangeMarginRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryExchangeMarginRateAdjustTrade(pTradeAPI x, OnRspQryExchangeMarginRateAdjustTrade pOnRspQryExchangeMarginRateAdjustTrade);
TRADEBRIDGE_API void Reg_OnRspQryExchangeRateTrade(pTradeAPI x, OnRspQryExchangeRateTrade pOnRspQryExchangeRateTrade);
TRADEBRIDGE_API void Reg_OnRspQrySecAgentACIDMapTrade(pTradeAPI x, OnRspQrySecAgentACIDMapTrade pOnRspQrySecAgentACIDMapTrade);
TRADEBRIDGE_API void Reg_OnRspQryProductExchRateTrade(pTradeAPI x, OnRspQryProductExchRateTrade pOnRspQryProductExchRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryProductGroupTrade(pTradeAPI x, OnRspQryProductGroupTrade pOnRspQryProductGroupTrade);
TRADEBRIDGE_API void Reg_OnRspQryMMInstrumentCommissionRateTrade(pTradeAPI x, OnRspQryMMInstrumentCommissionRateTrade pOnRspQryMMInstrumentCommissionRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryMMOptionInstrCommRateTrade(pTradeAPI x, OnRspQryMMOptionInstrCommRateTrade pOnRspQryMMOptionInstrCommRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryInstrumentOrderCommRateTrade(pTradeAPI x, OnRspQryInstrumentOrderCommRateTrade pOnRspQryInstrumentOrderCommRateTrade);
TRADEBRIDGE_API void Reg_OnRspQrySecAgentTradingAccountTrade(pTradeAPI x, OnRspQrySecAgentTradingAccountTrade pOnRspQrySecAgentTradingAccountTrade);
TRADEBRIDGE_API void Reg_OnRspQrySecAgentCheckModeTrade(pTradeAPI x, OnRspQrySecAgentCheckModeTrade pOnRspQrySecAgentCheckModeTrade);
TRADEBRIDGE_API void Reg_OnRspQrySecAgentTradeInfoTrade(pTradeAPI x, OnRspQrySecAgentTradeInfoTrade pOnRspQrySecAgentTradeInfoTrade);
TRADEBRIDGE_API void Reg_OnRspQryOptionInstrTradeCostTrade(pTradeAPI x, OnRspQryOptionInstrTradeCostTrade pOnRspQryOptionInstrTradeCostTrade);
TRADEBRIDGE_API void Reg_OnRspQryOptionInstrCommRateTrade(pTradeAPI x, OnRspQryOptionInstrCommRateTrade pOnRspQryOptionInstrCommRateTrade);
TRADEBRIDGE_API void Reg_OnRspQryExecOrderTrade(pTradeAPI x, OnRspQryExecOrderTrade pOnRspQryExecOrderTrade);
TRADEBRIDGE_API void Reg_OnRspQryForQuoteTrade(pTradeAPI x, OnRspQryForQuoteTrade pOnRspQryForQuoteTrade);
TRADEBRIDGE_API void Reg_OnRspQryQuoteTrade(pTradeAPI x, OnRspQryQuoteTrade pOnRspQryQuoteTrade);
TRADEBRIDGE_API void Reg_OnRspQryOptionSelfCloseTrade(pTradeAPI x, OnRspQryOptionSelfCloseTrade pOnRspQryOptionSelfCloseTrade);
TRADEBRIDGE_API void Reg_OnRspQryInvestUnitTrade(pTradeAPI x, OnRspQryInvestUnitTrade pOnRspQryInvestUnitTrade);
TRADEBRIDGE_API void Reg_OnRspQryCombInstrumentGuardTrade(pTradeAPI x, OnRspQryCombInstrumentGuardTrade pOnRspQryCombInstrumentGuardTrade);
TRADEBRIDGE_API void Reg_OnRspQryCombActionTrade(pTradeAPI x, OnRspQryCombActionTrade pOnRspQryCombActionTrade);
TRADEBRIDGE_API void Reg_OnRspQryTransferSerialTrade(pTradeAPI x, OnRspQryTransferSerialTrade pOnRspQryTransferSerialTrade);
TRADEBRIDGE_API void Reg_OnRspQryAccountregisterTrade(pTradeAPI x, OnRspQryAccountregisterTrade pOnRspQryAccountregisterTrade);
TRADEBRIDGE_API void Reg_OnRspErrorTrade(pTradeAPI x, OnRspErrorTrade pOnRspErrorTrade);
TRADEBRIDGE_API void Reg_OnRtnOrderTrade(pTradeAPI x, OnRtnOrderTrade pOnRtnOrderTrade);
TRADEBRIDGE_API void Reg_OnRtnTradeTrade(pTradeAPI x, OnRtnTradeTrade pOnRtnTradeTrade);
TRADEBRIDGE_API void Reg_OnErrRtnOrderInsertTrade(pTradeAPI x, OnErrRtnOrderInsertTrade pOnErrRtnOrderInsertTrade);
TRADEBRIDGE_API void Reg_OnErrRtnOrderActionTrade(pTradeAPI x, OnErrRtnOrderActionTrade pOnErrRtnOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRtnInstrumentStatusTrade(pTradeAPI x, OnRtnInstrumentStatusTrade pOnRtnInstrumentStatusTrade);
TRADEBRIDGE_API void Reg_OnRtnBulletinTrade(pTradeAPI x, OnRtnBulletinTrade pOnRtnBulletinTrade);
TRADEBRIDGE_API void Reg_OnRtnTradingNoticeTrade(pTradeAPI x, OnRtnTradingNoticeTrade pOnRtnTradingNoticeTrade);
TRADEBRIDGE_API void Reg_OnRtnErrorConditionalOrderTrade(pTradeAPI x, OnRtnErrorConditionalOrderTrade pOnRtnErrorConditionalOrderTrade);
TRADEBRIDGE_API void Reg_OnRtnExecOrderTrade(pTradeAPI x, OnRtnExecOrderTrade pOnRtnExecOrderTrade);
TRADEBRIDGE_API void Reg_OnErrRtnExecOrderInsertTrade(pTradeAPI x, OnErrRtnExecOrderInsertTrade pOnErrRtnExecOrderInsertTrade);
TRADEBRIDGE_API void Reg_OnErrRtnExecOrderActionTrade(pTradeAPI x, OnErrRtnExecOrderActionTrade pOnErrRtnExecOrderActionTrade);
TRADEBRIDGE_API void Reg_OnErrRtnForQuoteInsertTrade(pTradeAPI x, OnErrRtnForQuoteInsertTrade pOnErrRtnForQuoteInsertTrade);
TRADEBRIDGE_API void Reg_OnRtnQuoteTrade(pTradeAPI x, OnRtnQuoteTrade pOnRtnQuoteTrade);
TRADEBRIDGE_API void Reg_OnErrRtnQuoteInsertTrade(pTradeAPI x, OnErrRtnQuoteInsertTrade pOnErrRtnQuoteInsertTrade);
TRADEBRIDGE_API void Reg_OnErrRtnQuoteActionTrade(pTradeAPI x, OnErrRtnQuoteActionTrade pOnErrRtnQuoteActionTrade);
TRADEBRIDGE_API void Reg_OnRtnForQuoteRspTrade(pTradeAPI x, OnRtnForQuoteRspTrade pOnRtnForQuoteRspTrade);
TRADEBRIDGE_API void Reg_OnRtnCFMMCTradingAccountTokenTrade(pTradeAPI x, OnRtnCFMMCTradingAccountTokenTrade pOnRtnCFMMCTradingAccountTokenTrade);
TRADEBRIDGE_API void Reg_OnErrRtnBatchOrderActionTrade(pTradeAPI x, OnErrRtnBatchOrderActionTrade pOnErrRtnBatchOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRtnOptionSelfCloseBd(pTradeAPI x, OnRtnOptionSelfCloseTrade  pOnRtnOptionSelfCloseTrade);
TRADEBRIDGE_API void Reg_OnErrRtnOptionSelfCloseInsertBd(pTradeAPI x, OnErrRtnOptionSelfCloseInsertTrade  pOnErrRtnOptionSelfCloseInsertTrade);
TRADEBRIDGE_API void Reg_OnErrRtnOptionSelfCloseActionBd(pTradeAPI x, OnErrRtnOptionSelfCloseActionTrade  pOnErrRtnOptionSelfCloseActionTrade);
TRADEBRIDGE_API void Reg_OnRtnCombActionBd(pTradeAPI x, OnRtnCombActionTrade  pOnRtnCombActionTrade);
TRADEBRIDGE_API void Reg_OnErrRtnCombActionInsertBd(pTradeAPI x, OnErrRtnCombActionInsertTrade  pOnErrRtnCombActionInsertTrade);
TRADEBRIDGE_API void Reg_OnRspQryContractBankBd(pTradeAPI x, OnRspQryContractBankTrade  pOnRspQryContractBankTrade);
TRADEBRIDGE_API void Reg_OnRspQryParkedOrderBd(pTradeAPI x, OnRspQryParkedOrderTrade  pOnRspQryParkedOrderTrade);
TRADEBRIDGE_API void Reg_OnRspQryParkedOrderActionBd(pTradeAPI x, OnRspQryParkedOrderActionTrade  pOnRspQryParkedOrderActionTrade);
TRADEBRIDGE_API void Reg_OnRspQryTradingNoticeBd(pTradeAPI x, OnRspQryTradingNoticeTrade  pOnRspQryTradingNoticeTrade);
TRADEBRIDGE_API void Reg_OnRspQryBrokerTradingParamsBd(pTradeAPI x, OnRspQryBrokerTradingParamsTrade  pOnRspQryBrokerTradingParamsTrade);
TRADEBRIDGE_API void Reg_OnRspQryBrokerTradingAlgosBd(pTradeAPI x, OnRspQryBrokerTradingAlgosTrade  pOnRspQryBrokerTradingAlgosTrade);
TRADEBRIDGE_API void Reg_OnRspQueryCFMMCTradingAccountTokenBd(pTradeAPI x, OnRspQueryCFMMCTradingAccountTokenTrade  pOnRspQueryCFMMCTradingAccountTokenTrade);
TRADEBRIDGE_API void Reg_OnRtnFromBankToFutureByBankBd(pTradeAPI x, OnRtnFromBankToFutureByBankTrade  pOnRtnFromBankToFutureByBankTrade);
TRADEBRIDGE_API void Reg_OnRtnFromFutureToBankByBankBd(pTradeAPI x, OnRtnFromFutureToBankByBankTrade  pOnRtnFromFutureToBankByBankTrade);
TRADEBRIDGE_API void Reg_OnRtnRepealFromBankToFutureByBankBd(pTradeAPI x, OnRtnRepealFromBankToFutureByBankTrade  pOnRtnRepealFromBankToFutureByBankTrade);
TRADEBRIDGE_API void Reg_OnRtnRepealFromFutureToBankByBankBd(pTradeAPI x, OnRtnRepealFromFutureToBankByBankTrade  pOnRtnRepealFromFutureToBankByBankTrade);
TRADEBRIDGE_API void Reg_OnRtnFromBankToFutureByFutureBd(pTradeAPI x, OnRtnFromBankToFutureByFutureTrade  pOnRtnFromBankToFutureByFutureTrade);
TRADEBRIDGE_API void Reg_OnRtnFromFutureToBankByFutureBd(pTradeAPI x, OnRtnFromFutureToBankByFutureTrade  pOnRtnFromFutureToBankByFutureTrade);
TRADEBRIDGE_API void Reg_OnRtnRepealFromBankToFutureByFutureManualBd(pTradeAPI x, OnRtnRepealFromBankToFutureByFutureManualTrade  pOnRtnRepealFromBankToFutureByFutureManualTrade);
TRADEBRIDGE_API void Reg_OnRtnRepealFromFutureToBankByFutureManualBd(pTradeAPI x, OnRtnRepealFromFutureToBankByFutureManualTrade  pOnRtnRepealFromFutureToBankByFutureManualTrade);
TRADEBRIDGE_API void Reg_OnRtnQueryBankBalanceByFutureBd(pTradeAPI x, OnRtnQueryBankBalanceByFutureTrade  pOnRtnQueryBankBalanceByFutureTrade);
TRADEBRIDGE_API void Reg_OnErrRtnBankToFutureByFutureBd(pTradeAPI x, OnErrRtnBankToFutureByFutureTrade  pOnErrRtnBankToFutureByFutureTrade);
TRADEBRIDGE_API void Reg_OnErrRtnFutureToBankByFutureBd(pTradeAPI x, OnErrRtnFutureToBankByFutureTrade  pOnErrRtnFutureToBankByFutureTrade);
TRADEBRIDGE_API void Reg_OnErrRtnRepealBankToFutureByFutureManualBd(pTradeAPI x, OnErrRtnRepealBankToFutureByFutureManualTrade  pOnErrRtnRepealBankToFutureByFutureManualTrade);
TRADEBRIDGE_API void Reg_OnErrRtnRepealFutureToBankByFutureManualBd(pTradeAPI x, OnErrRtnRepealFutureToBankByFutureManualTrade  pOnErrRtnRepealFutureToBankByFutureManualTrade);
TRADEBRIDGE_API void Reg_OnErrRtnQueryBankBalanceByFutureBd(pTradeAPI x, OnErrRtnQueryBankBalanceByFutureTrade  pOnErrRtnQueryBankBalanceByFutureTrade);
TRADEBRIDGE_API void Reg_OnRtnRepealFromBankToFutureByFutureBd(pTradeAPI x, OnRtnRepealFromBankToFutureByFutureTrade  pOnRtnRepealFromBankToFutureByFutureTrade);
TRADEBRIDGE_API void Reg_OnRtnRepealFromFutureToBankByFutureBd(pTradeAPI x, OnRtnRepealFromFutureToBankByFutureTrade  pOnRtnRepealFromFutureToBankByFutureTrade);
TRADEBRIDGE_API void Reg_OnRspFromBankToFutureByFutureBd(pTradeAPI x, OnRspFromBankToFutureByFutureTrade  pOnRspFromBankToFutureByFutureTrade);
TRADEBRIDGE_API void Reg_OnRspFromFutureToBankByFutureBd(pTradeAPI x, OnRspFromFutureToBankByFutureTrade  pOnRspFromFutureToBankByFutureTrade);
TRADEBRIDGE_API void Reg_OnRspQueryBankAccountMoneyByFutureBd(pTradeAPI x, OnRspQueryBankAccountMoneyByFutureTrade  pOnRspQueryBankAccountMoneyByFutureTrade);
TRADEBRIDGE_API void Reg_OnRtnOpenAccountByBankBd(pTradeAPI x, OnRtnOpenAccountByBankTrade  pOnRtnOpenAccountByBankTrade);
TRADEBRIDGE_API void Reg_OnRtnCancelAccountByBankBd(pTradeAPI x, OnRtnCancelAccountByBankTrade  pOnRtnCancelAccountByBankTrade);
TRADEBRIDGE_API void Reg_OnRtnChangeAccountByBankTrade(pTradeAPI x, OnRtnChangeAccountByBankTrade pOnRtnChangeAccountByBankTrade);